package com.ruoyi.kis.domain;

import com.fasterxml.jackson.annotation.JsonProperty;


import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;


/**
 * @Author: zhanglm
 * @CreateDate: 2025-02-17 9:47
 * @FullNameClass: com.ruoyi.kis.domain.DispatchOrderS
 * @Description: 发货单明细实体类
 */
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
@ToString
public class DispatchOrderS {
    @JsonProperty("FInterID")
    private String FInterID = "";
    @JsonProperty("FEntryID")
    private String FEntryID = "";
//    @JsonProperty("FDetailID")
//    private String FDetailID = "";
    @NotEmpty(message = "物料编码不能为空")
    @JsonProperty("Material_Code")
    private String Material_Code = "";
//    @NotEmpty(message = "批次号不能为空")
    @JsonProperty("Batch_Number")
    private String Batch_Number = "0";
    @JsonProperty("Material_Name")
    private String Material_Name = "";
    @JsonProperty("Company")
    private String Company = "";
    @JsonProperty("Specifications")
    private String Specifications = "";

//    @JsonProperty("Number")
//    private String Number = "0";
    @JsonProperty("Warehouse")
    private String Warehouse = "";
    @JsonProperty("FUnitID")
    private String FUnitID = "";
    @JsonProperty("FItemID")
    private String FItemID;

    @JsonProperty("FDCStockID")
    private String FDCStockID;

    @JsonProperty("FQty")
    private String FQty;//实发数量


    @JsonProperty("FAuxQty")
    private String FAuxQty;//实发辅助数量


    @JsonProperty("FQtyMust")
    private String FQtyMust = "0";//应发数量

    @NotNull(message = "应发辅助数量不能为空")
    @JsonProperty("FAuxQtyMust")
    private String FAuxQtyMust;//应发辅助数量

    @JsonProperty("FSecQty")
    private String FSecQty;//辅助单位数量

    @JsonProperty("FEntrySelfB0168")
    private String FEntrySelfB0168;//理论毛重



    @JsonProperty("FSecCoefficient")
    @Min(value = 0, message = "FSecCoefficient数值必须大于等于0")
    private String FSecCoefficient;//转换率

    @JsonProperty("FComplexQty")
    private String FComplexQty;//复合单位数量

    @JsonProperty("FSourceEntryID")
    private String FSourceEntryID;//源单行号

    @JsonProperty("FSourceInterID")
    private String FSourceInterID;//源单内码

    @NotNull(message = "单据体源单号FSourceBillNo不能为空")
    @JsonProperty("FSourceBillNo")
    private String FSourceBillNo;//源单号

//    @NotNull(message = "仓库编码不能为空")
    @JsonProperty("FDCStockCode")
    private String FDCStockCode;//仓库编码


    @NotNull(message = "单据体FSourceTranType不能为空")
    @JsonProperty("FSourceTranType")//源单类型
    private String FSourceTranType;

    @Min(value = 0, message = "FPrice数值必须大于等于0")
    @JsonProperty("FPrice")
    private String FPrice;

    @Min(value = 0, message = "FAuxPrice数值必须大于等于0")
    @JsonProperty("FAuxPrice")
    private String FAuxPrice;

    @JsonProperty("FAmount")
    private String FAmount;
}
